var Workport = Workport || {};

Workport.DocumentDomain = {
	CommunityHomeRequest = function(){
		this.pagePosition;
		this.pageSize;
		this.key;
		this.type;
	},
	CommunityHomeResponse = function(){
		this.code;
		this.message;
		this.data = [
		     function(){
		    	 this.CommunityID;
		    	 this.CommunityName;
		    	 this.imgUrl;
		    	 this.CommunityStatus;
		    	 this.membersCount;
		    	 this.count;
		     }
		];
	},	
	CommunityPreviewRequest = function(){
		this.pageSize = '10';
		this.pagePosition = '';
		this.order = 'A';
		this.type = '0'; // 0 for my community, 1 for Other community
	},
	CommunityPreviewResponse = function(){
		this.page = '';
		this.data = [
		     function(){
		    	 this.id = '';
		    	 this.icon = '';
		    	 this.title = '';
		    	 this.tip = 0;
		    	 this.tags = [''];
		    	 this.notes = [
		    	      function(){
		    	    	  this.id = '';
		    	    	  this.pic = '';
		    	    	  this.title = '';
		    	    	  this.desc = '';
		    	    	  this.passed = '';
		    	      }
		    	 ];
		     }
		];
	},
	CommunityDetailRequest = function(){
		this.communityId;
	},
	CommunityHomeResponse = function(){
		this.code;
		this.message;
	},
	GetMemberRequest = function(){
		this.communityId;
		this.pageSize;
		this.pagePosition;	//  passing 0 will fetch from start
		this.type;			//  0 for Moderator/ 1 for contributor
	},
	GetMemberResponse = function(){
		this.code;
		this.message;
	},
	PostMemberRequest = function(){
		this.communityId;
		this.action;		// "0": "Join", "1": "Leave"
	},
	PostMemberResponse = function(){
		this.code;
		this.message;
	},
	GutMemberRequest = function(){
		this.communityId;
		this.user;
		this.action;			// "0" : "Approve", "1" : "Reject"
		this.notificationId;
	},
	PutMemberResponse = function(){
		this.code;
		this.message;
	},
	SubscribeRequest = function(){
		this.communityId;
		this.action;		// 0 for Subscribe/1 for unSubscribe
	},
	SubscribeResponse = function(){
		
	},
	SearchRequest = function(){
		this.pagePosition;
		this.pageSize;
		this.key;
		this.type;		// "0" for my community and "1" for other community
	},
	SearchResponse = function(){
		
	},
	ExportRequest = function(){
		this.notificationId;
		this.notificationType;		// U-user/C-community
		this.targetId;
		this.pageSize;
		this.pagePosition;
	},
	ExportResponse = function(){
		
	},
	NominateRequest = function(){
		this.notificationId;
		this.targetId;			// UserID/CommunityID
		this.exports;
		this.tags;
	},
	NominateResponse = function(){
		
	},
	StatRequest = function(){
		this.communityId;
	},
	StatResponse = function(){
		
	},
	CreateRequest = function(){
		this.name;
		this.description;
		this.start;
		this.end;
		this.nickname;
		this.type;			// Open/Moderated/Restricted
		this.logo;
		this.tags;
		this.apps;
		this.memebers;
		this.managers;
	},
	CreateResponse = function(){
		
	},
	ExistRequest = function(){
		this.name;
		this.type;		// {0 (NickName) | 1 (CommunityName)
	},
	ExistResponse = function(){
		
	},
	TypeRequest = function(){

	},
	TypeResponse = function(){
		
	},
	UpdateMemberRequest : function(){
		this.communityId;
		this.users = [function(){
			this.user;
			this.action;	//"0" : "Add", "1":"Remove"
			this.isManager;
		}];
	},
	UpdateMemberResponse : function(){
		
	},
	EditRequest = function(){
		this.communityId;
		this.status;		// Active/Inactive
		this.name;
		this.description;
		this.startDate;
		this.endDate;
		this.nickname;
		this.type;			// Open/Moderated/Restricted
		this.logo;
		this.tags;
		this.apps;
		this.members = [function(){
			this.user;
			this.action;	//"0" : "Add", "1":"Remove"
			this.isManager;
		}];
		this.managers = [function(){
			this.user;
			this.action;	//"0" : "Add", "1":"Remove"
			this.isManager;
		}];
	},
	EditResponse = function(){
		
	}
}
